home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-04-08 | 58.8 KB | 1,895 lines |
-
-
-
-
-
- ╔═══════════════════════════════════════╗
- ║ Visage LITE ║
- ║ ║
- ║ DOCUMENT IMAGE MANAGEMENT ║
- ║ User's Guide ║
- ║ ║
- ║ SHAREWARE VERSION ║
- ║ ║
- ╚═══════════════════════════════════════╝
-
- ┌─────┌──────┐┌──────┐┌──────┐─┐
- │ │ ┌──────┐ ││ ┌──────┐
- │ │ │ │ ││ │ │
- │ │ │ │ ││ │ │
- └─────└─│ │─────┘└─│ │
- └──────┘ └──────┘
-
-
-
- (c) Copyright 1991, 1992
- Document Image Development Corp.
- 270 Lafayette Street, Suite 1008
- New York, New York 10012
- (212) 431-4084
-
-
-
-
- IMPORTANT LICENSE INFORMATION
-
- Visage LITE is provided at no charge for evaluation purposes only.
- This shareware version of Visage LITE is the complete working version of
- the program, not a crippled or demo copy.
-
- The Document Image Development Corp. (DIDC) hereby grants you a
- limited license to use this software for evaluation purposes only for a
- period not to exceed thirty (30) days. If you intend to continue
- using this software (and/or its documentation) after the thirty
- (30) day evaluation period, you MUST make a registration payment to
- DIDC. Using this software after the evaluation period has ended
- without registering is a violation of the terms of this limited
- license.
-
- Licensee shall not use, copy, rent, lease, sell, modify, decompile,
- disassemble, otherwise reverse engineer, or transfer the licensed
- program except as provided in this agreement. Any such unauthorized
- use shall result in immediate and automatic termination of this
- license.
-
- All rights not expressly granted here are reserved to DIDC.
-
-
- PAGE 1
-
- Overview
- ========
-
- Visage is a complete document storage and retrieval subsystem
- that handles the scanning, storing, display, and printing of all
- document images. Scanned documents are stored in disk files which can
- be on standard PC hard drives or removable optical cartridges. Because
- Visage maintains its own database that keeps track of where images are
- stored, you are relieved of this tedious chore.
-
- Visage provides the application programmer with a wide variety
- of functions that control the scanning, storing, display, and printing
- of document images. Linkable interface modules are currently available
- for Microsoft C, Turbo C, most other C compilers, Turbo Pascal, and
- Clipper. In addition, Visage may be accessed by your application without
- using any programming interface.
-
- A major advantage of Visage lies in its ability to load as a
- "swappable" TSR requiring less than 9K of conventional memory. When
- loaded, the TSR swaps itself to expanded memory or, if no expanded
- memory is available, to disk. It then waits to be activated at which
- time it swaps out the active program and swaps itself back in. This
- process is completely invisible to the user.
-
- The following are the key functions Visage provides:
-
- Scanning: entire document, single pages, insert, delete
- and replace
-
- Viewing : next page, previous page, go to specific page
-
- Printing: single page, range of pages or entire document
-
- Storage : indexing and optical disk management
-
- Perhaps the most important feature of Visage is that it operates under
- MS-DOS. No other special software is required.
-
- Advanced Visage Features
-
- The Visage system incorporates many advanced features to
- maximize the speed and efficiency of document processing. These include:
-
- Image Staging: Scanned images are initially written to
- magnetic media and are later move to optical media via a batch update
- mode. This speeds up the scanning process and also allows the user to
- delete unwanted images before they are committed to optical medial. The
- batch update can be performed overnight, providing a minimum of system
- downtime.
-
- Volume Management: Visage keeps track of the location of
- stored images across many volumes. This is absolutely essential in
-
-
- PAGE 2
-
-
-
-
- applications that maintain a large number of document images.
-
- Image Caching: Retrieved images are cached to the PC's hard
- drive. Optical disks are considerably slower than magnetic drives. By
- caching images to the PC's hard drive, subsequent access to images
- already retrieved is made much faster.
-
- Software Decompression: Images are stored in compressed format
- to maximize disk space. Our DIDC2.EXE TSR supports software
- decompression so you don't need special hardware to view images.
-
- Image Manipulation: Viewed images can be zoomed, panned,
- scrolled, and rotated.
-
- Network Support: DIDC's WormServer software provides
- network-wide multiple simultaneous access to images on Novell networks.
- Advanced Database Design: The image databases maintained by Visage use
- variable length records with key compression to minimize the amount of
- disk space required.
-
- Safety and Reliability: Visage protects against data loss
- from power outages or computer failure. Image storage and database
- updates use advanced write-through techniques to ensure data and image
- integrity.
-
- Standardization: Visage uses industry standard CCITT group 4
- compression (the most effective image compression available) and all
- images are stored in industry standard TIFF format. Visage also uses
- standard DOS file formats making it easy to back-up image files to tape
- or make copies of image volumes using the COPY command.
-
- Sub-document Handling: Visage allows you to define
- subdocuments within a document allowing for more efficient document
- management.
-
- Insertion, replace and Deletion: New pages can be inserted at
- any point in a document. Selected document pages can also be deleted.
-
- Hardware Support: Visage supports a wide range of printers,
- scanners, optical drives and display systems from manufacturers such as
- Hewlett Packard, Panasonic, Ricoh, Fujitsu, Canon, TDC and Bell &
- Howell.
-
-
- Hardware and Software Requirements
-
- The Visage system comprises three different TSRs -- one that
- provides full functionality (but requires special hardware), one that
- provides low speed page scanner compatability (but requires no special
- hardware), and one that provides display only capability. DIDC1.EXE is
- the full-function TSR used in conjunction with the Kofax Document
- Processor. It provides access to all Kofax supported peripherals.
-
- DIDC2.EXE is a view only version for network workstations.
-
- DIDC3.EXE (distributed as Visage LITE) is the version addressed
- by this manual. DIDC3 requires no special add-in board. It provides
- scanning facilities through the Hewlett Packard ScanJet and ScanJet Plus
- scanners. Typically, DIDC3 will be used in environments with low volume
- document image management requirements and for application prototyping.
- Data and images produced by DIDC3.EXE are 100% compatible with our high
- volume image management platforms!
-
-
-
- PAGE 3
-
-
-
-
- Visage is compatible with all EGA and VGA display systems.
- Visage will operate on any computer with an 80286, 80386 or 80486
- processor running under MS- DOS or PC-DOS 3.0 or higher. A minimum of
- 555K free conventional memory is required. For optimal performance, at
- least an 80386 based computer, math co-processor, disk cache and one
- megabtye of expanded memory is recommended.
-
- Setting up to Use Visage
-
- Before you run Visage LITE for the first time, you must install
- your scanner driver. Make sure all the scanner drivers are in your
- current directory. Execute the INSTALL3.EXE file and choose your
- scanner from the displayed list. That's all there is to it. You do not
- need to do this again unless you change to a different scanner.
-
- Prior to loading the VISAGE TSR itself, you must set certain
- environment variables. These are required so that VISAGE knows the
- location of its image data and index files; .DOC and .DCX respectively.
- You may set the environment variables in your AUTOEXEC.BAT file, from
- another batch file or at the DOS command line. The syntax is as follows:
-
- SET DIDC=C:\VISAGE (where C:\VISAGE is your working directory
- This can be any directory and will contain
- the VISAGE data and index files)
-
- SET DIDCTMP=C:\ (where C:\ is a directory to be used for
- temporary images storage. Note: if you do
- not specify a DIDCTMP variable, VISAGE will
- default to using C:\)
-
- Using Visage Without EMS
-
- If your computer does not have EMS, Visage will swap to disk in
- the directory in which the TSR was loaded. When activated by a Visage
- function call, the TSR will swap back from disk and perform the task.
- This process takes a few seconds -- the actual time will depend on how
- fast your hard disk is. Using disk caching software will improve
- performance.
-
- You can control where the TSR swaps by using the SAVEPATH
- environment variable to control how the Visage TSRs swap. You can set
- the SAVEPATH variable from the DOS prompt as shown here:
-
- set savepath=C:\
-
- This tells Visage to swap to the root directory of drive C:.
- Important: If you set the SAVEPATH variable, Visage will always swap to
- disk even if sufficient EMS is available. The SAVEPATH variable is
- useful if you have a RAM disk installed. If, for example, you have a RAM
- disk installed as drive D:, you can tell Visage to swap to that drive.
- Swapping to RAM disk is considerably faster than swapping to a hard
- drive. Removing Visage From Memory
-
- To remove the Visage TSR from memory, hold down the CTRL and ALT
- keys at the same time and press Q. The TSR will not unload if other
- memory resident programs were loaded after it. Some memory resident
- programs and device drivers such as network drivers must be loaded
- before Visage. If you encounter problems after loading Visage, make sure
- that no other resident programs were loaded after Visage.
-
-
- PAGE 4
-
-
-
-
-
-
- Using Visage With Existing Applications
-
- Visage is designed so that it can be used even with programs
- that do not have Visage function calls. This means you can use Visage
- with just about any program. When used with existing programs, you must
- define a Visage Key -- a string of characters that Visage can find on
- the computer screen. Let's say you are using a database application
- with the following fields displayed on the screen:
-
-
- Name: Jones
- ID: 903214
- Address: 301 Main Street
- City: Hohokus
- State: NJ
-
- Suppose you want to store a document for this individual and use
- the contents of the ID field as the key into the image database. You
- simply tell Visage that the key field is ID: and Visage will search the
- display for those characters (make sure you include the colon), skip
- past any blanks, and pick up the value 903214. The only restriction is
- that the key field must be on the screen so that Visage can find it.
-
-
- Defining a Key Field
-
- To define a key field, you must create a file named VISAGE.KEY
- and in that file store the name of the field Visage should look for. In
- the example just given, VISAGE.KEY would contain "ID:". The key field is
- case sensitive, so make sure you type in the field exactly as it appears
- on the screen.
-
- Using Visage in Popup Mode
-
- To use Visage with existing applications, you must load the TSR
- in popup mode. To do this, simply add the command line parameter P
- (e.g., DIDC1 -P). In popup mode, Visage allows you to use the following
- hot keys:
-
- CTL+F1: Visage Menu. Activates the Visage menu system. When you press
- this key combination, Visage searches the screen to find the key field.
- If it finds the field, it picks up the contents of the field, opens the
- VISAGE image database, and activates the menu system. If VISAGE does
- not find the key field, it will use the last key value it found. If
- there is no previous key value to use, VISAGE will beep and return to
- the application.
-
- CTL+F2: Batch Update. Initiates a batch update, which copies images
- from the default volume to the destination volume.
-
- CTL+F3: Batch Print. This function lets you print a batch of documents
- at one time. Prior to calling this function, you must create a text file
- name PRT.LST, which will contain a list of document keys, one per line.
- Visage will read the keys from this file and print their associated
- documents.
-
- Figure 1: Using Visage to link images to a database record
-
-
- PAGE 5
-
-
-
-
-
-
- ╔══════════════════════════════╗
- ║ ║
- ║ ║
- ║ (Figure not shown) ║
- ║ ║
- ║ ║
- ║ ║
- ╚══════════════════════════════╝
-
-
-
- Operating Visage
-
- Visage will typically be used in conjunction with a database
- application which has been compiled with the Visage function calls. The
- function calls activate various image processing functions. To use
- these functions effectively, it is necessary to understand how Visage
- stores images
-
- The Visage Document and Volume Storage System
-
- Visage manages documents up to 500 pages in length. The Visage
- database uses compressed variable length data records that require
- minimal disk storage. Key values used to access images can be up to 30
- characters long. The database resides on a magnetic hard drive, but
- images can be stored on magnetic or optical media.
-
- Visage stores images on volumes. A volume is simply a hard drive
- or optical disk that has a volume id contained in a VOL.ID file in its
- root directory. For example, if your computer has a D: hard drive, and
- you want to make the D: drive volume 3, you would simply create a file
- D:\VOL.ID that contains the ASCII text number "3". Visage supports
- volumes from 1 to 65535. NOTE: Zero is not a valid visage volume number.
- Visage will store images only to drives or optical disks that have a
- valid VOL.ID file in the root directory.
-
- When Visage starts up, it locates all drives that have VOL.ID
- files in the root directory. It will also look on those drives to see if
- an image file exists. On any one volume, all images are stored in a file
- named IMAGES.FIL. If this file does not exist, Visage will create it.
- When images are scanned Visage will ask which volume should be used to
- store the images.
-
-
- The Default Volume
-
- Visage is designed to be used with WORM (Write Once-Read Many)
- optical media. WORM media can store huge amounts of data, but anything
- written to a WORM cartridge cannot be erased. To minimize wastage of
- optical media, Visage utilizes a default volume for temporary storage of
- images before committing them to optical media. In fact, Visage will not
- allow images to be scanned unless a default volume is identified.
-
- One of the PC's hard drives must be setup as a default volume.
- To do this, in the root directory of the drive, create a VOL.ID file
- containing the volume id 65535. Visage reserves this volume id for use
- as a default volume number. When images are scanned, Visage stores them
-
-
- PAGE 6
-
-
-
-
- on the default drive, regardless of the volume to which they have been
- assigned. Later, the batch update procedure transfers the images from
- the default drive to the designated optical volume.
-
- Using a magnetic drive as a default volume has several
- advantages. First, it speeds up scanning because writing to magnetic
- media is much faster than writing to optical media. Second, it allows
- the user to delete pages prior to batch updating without wasting optical
- disk space. Third, it is more convenient because the destination volume
- does not have to be mounted while scanning takes place. Visage Network
- Support
-
- The Visage document image processing system comes in two
- versions -- standalone and network server. The standalone system
- requires that all image volumes (hard drives and optical media) be
- attached to the image workstation PC. The network system utilizes a PC
- running the WormServer software. This PC has optical drives attached
- and is dedicated to storing and retrieving images. Visage currently
- supports Novell networks (SPX/IPX) and soon will provide support for
- NetBios, and TCP/IP networks, which means just about any network you'll
- find.
-
- In a typical network implementation, the image server (running
- the WormServer software) would have one large magnetic drive assigned as
- the default volume, and one or more optical drives. To the user, the
- standalone and network versions of Visage look identical. The only
- difference is that images are stored on the network image server rather
- than a local drive. Just as important, the network and standalone
- versions of Visage have exactly the same programmer's interface. That
- means that the same version of your application can support either
- environment.
-
- Preparing your Application
-
- Visage maintains database files that record the location of stored
- pages. Each document within a database is uniquely identified by a key
- -- a character string of up to 30 characters. To access documents in
- application programs, you must tell Visage which database to use and
- provide the key to locate the image information. For example, the
- function call
-
- DIDC_call_menu("RECORDS","100233",0);
-
- activates the Visage menu system using the RECORDS image database. This
- database consists of two files: RECORDS.DOC and RECORDS.DCX. In the
- RECORDS database, Visage will locate the record with a key equal to
- "100233". (The use of the third parameter is described in the
- Programmer's Interface section.) Your application is responsible for
- keeping track of key values. Typically, the key will be stored in a
- field of your database record. Each record will have a key that links it
- to the Visage database. One word of caution -- once images are stored,
- it is imperative that the key in your database not be changed or you
- will lose your link to the image database. The DIDC Menu
-
- The DIDC Menu system is activated by a call to DIDC_call_menu.
- When first activated, the menu system displays menu options across the
- top line of the screen and status information at the bottom of the
- screen. The main menu choices are View, Scan, Print, and Misc. At the
- bottom of the screen, the status line tells which page is selected, the
-
-
- PAGE 7
-
-
-
-
- number of pages in the document, the volume selected for storing images,
- the name of the image database, and the key associated with the current
- document.
-
-
-
-
-
- The Main Menu
-
-
- To select the menu option you want, use the left and right arrow
- keys to highlight your selection, then press the down arrow key to
- activate the pull-down menu. To return to the Main Menu from a pull-down
- menu, press ESC.
-
- The View Menu
-
- The View Menu offers
- the following options:
-
-
- Next Page ╔══════════════════════════════╗
- Prev page ║ ║
- Same page ║ ║
- Go to page ║ (Figure not shown) ║
- Clear screen ║ ║
- ║ ║
- ║ ║
- ╚══════════════════════════════╝
-
-
-
- When the menu system is first activated, no page is selected.
- Selecting Next Page will retrieve the first page of the document and
- make it the selected page. Subsequent use of Next Page will retrieve
- next pages in the document in sequential order. Selecting Prev Page
- will retrieve the page previous to the currently selected page. If the
- currently selected page is 0 or 1, Prev Page does nothing.
-
- On systems equipped with VGA or EGA monitors, the page displayed
- will take up the entire screen, so you will not be able to view the
- application and the image at the same time. If you want to review the
- selected page, use Same Page.
-
- Go to Page
-
- The Go to Page option
- allows you to view a ╔══════════════════════════════╗
- specific page by page ║ ║
- number. When you ║ ║
- select this option, you ║ (Figure not shown) ║
- will be asked to enter ║ ║
- the page number to ║ ║
- view. Type in the page ║ ║
- number and press ╚══════════════════════════════╝
- ENTER or press ESC
- to return to the menu.
-
-
-
- PAGE 8
-
-
-
-
-
- Clear Screen
-
- The Clear Screen option
- removes the images from
- the image window on dual
- page display systems.
-
- Viewing Options
-
- Visage provides the following image manipilation functions:
-
- ALT+Z: Enlarge the image
- CTL+Z: Reduce the image
- ALT+R: Rotate the image clockwise
- CTL+R: Rotate the image counterclockwise
- Arrows: Move the image
- Home: Position image at upper left
- H: Hide data window (on dual page displays)
- PgDn Retrieve next page
- PgUp Retrieve previous page
- ENTER Return to menu system
-
-
- The Scan Menu
-
- The Scan Menu offers
- the following options:
-
- Scan pages ╔══════════════════════════════╗
- Insert pages ║ ║
- Replace page ║ ║
- Replace specific page ║ (Figure not shown) ║
- Delete current page ║ ║
- Delete specific page ║ ║
- Delete page range ║ ║
- Delete document ╚══════════════════════════════╝
-
-
- Scan pages
-
- When this option is selected, Visage activates the scanner,
- scans in as many pages as are in the hopper (or just one page in Flat
- Bed mode) and appends the pages to the current document.
-
-
- Insert pages
-
- This option operates like Scan Pages except that the scanned
- pages are inserted into the document in front of the currently selected
- page.
-
-
- Replace page
-
- This option will replace the currently selected page with a
- newly scanned image
-
-
-
- PAGE 9
-
-
-
-
-
- Replace specific page
-
- Use this option to identify a specific page you want to replace
- with a new image Delete current page
-
- Delete current page
-
- This option deletes the currently selected page from the
- document. Before the deletion is made, Visage will ask you to confirm
- that this is what you want to do
-
- Delete specific page
-
- Deletes an image you specify by page number
-
- Delete page range
-
- Deletes a specified range of pages. You will be prompted to
- enter the starting and ending page numbers
-
- Delete document
-
- This option deletes all pages from the currently selected
- document. As with all delete functions, the user must confirm the action
- before the deletion is made.
-
-
-
- The Print Menu
-
- The Print Menu offers ╔══════════════════════════════╗
- the following options: ║ ║
- ║ ║
- Print document ║ (Figure not shown) ║
- Print current page ║ ║
- Print page range ║ ║
- Print specific page ║ ║
- ║ ║
- ╚══════════════════════════════╝
- Print document
-
-
- This option prints all pages of the current document.
-
- Print current page
-
- This option prints the currently selected page.
-
- Print page range
-
- This option permits printing part of a document. You will be
- prompted for the starting and ending page.
-
-
- Print specific page
-
- You will be prompted for the number of the single page you wish
- to print.
-
-
- NOTE: For all print options, you will be prompted for the number of copies.
-
-
- PAGE 10
-
-
- The Misc Menu
-
- The Misc Menu offers ╔══════════════════════════════╗
- the following options: ║ ║
- ║ ║
- Drive status ║ (Figure not shown) ║
- Select write volume ║ ║
- Mount volume ║ ║
- Batch update ║ ║
- Extract pages to TIF ╚══════════════════════════════╝
-
-
- Drive status
-
- This option displays the
- currently logged image
- volumes and the percent
- of disk space used on
- each volume.
-
- Select write volume
-
- This option lets you change the volume to which subsequently
- scanned images will be stored.
-
- Mount volume
-
- If you need to view images that are on a volume that is not
- currently mounted, select this option, mount the desired volume, and
- then press ENTER. This function applies only to images stored on
- removable media such as optical disk cartridges.
-
-
-
-
-
-
- PAGE 11
-
- Batch update
-
-
- When images are scanned, they are initially stored on the
- default volume (identified by volume id 65535). The batch update process
- moves images from the default volume to the volume selected as the write
- volume when the images were scanned in. The default volume must be a
- magnetic hard drive and when the batch update is completed, the images
- on the default drive are erased.
-
- When you are ready for a batch update, call the Visage Menu and
- select BatchUpdate. You will see a series of questions at the top of
- your screen. Answer each question as indicated. The main item the Visage
- needs to know is the volume number of the storage destination. The is
- the VOL.ID entered when a new document was scanned. After you supply the
- volume number, you will be asked to confirm your decision. If you answer
- no, you will be returned to the Menu. If you answer yes, make sure you
- have the correct disk in the optical drive and Visage will begin moving
- your documents to the optical disk or designated hard disk
- sub-directory. Depending on how much scanning you've done, this process
- may take some time. In most cases, you will probably want to do this at
- the end of the day.
-
- Extract pages to TIF
-
- All images scanned through VISAGE are stored in a single file.
- This technique improves the performance and efficiency of the system.
- Since VISAGE stores files in a graphics format (TIFF) supported by many
- OCR software packages, you may want to convert specific pages of a
- document (or an entire document) to ASCII or a word processing format.
- The EXTRACT option permits you to specify pages from a document and
- creates a single TIFF file for each page. You will first be prompted
- for a directory for the extracted pages and then the range of pages you
- wish to convert. Finally, you will be asked for a three (3) letter
- filename prefix. VISAGE will increment this prefix with the number of
- each page you extract. For example; ABC00001.TIF, ABC00002.TIF, etc.
-
-
- Working with Sub Documents
-
- When your application provides Visage with a new key, a document
- is created for images associated with the database record holding that
- key. Thus, there is a specific and unique image set, or document per
- database key. However, there may be applications which require a more
- comprehensive document definition. When this is the case, Visage
- provides a facility for creating Document Types. For example, suppose
- your were designing a document image processing system for a doctor's
- office. The doctor interested in medical information about a patient
- and doesn't want to browse through boring financial and insurance
- information (as long as the bills are paid). However, the office staff
- are mainly concerned with looking at the financial and insurance
- information (to make sure the bills are paid). By using the Visage Sub
- Document Type facility you can create two or more sections within each
- document. These are referred to as document types.
-
- Defining document types and adding them too your application is
- very easy. Simply create an ASCII file with the name of a single
- document type on each line and give the file any name you want.
- For example, in the doctor's office situation you might create a
- file called PTCHART.LST with the following document types:
-
-
-
-
- PAGE 12
-
-
-
- Financial
- Med History
- Exams
- Lab Work
- Consults
- Inpatient
- General
-
- To get your application to use these document types, you would
- place the above file name at the end of your call to the Visage Menu:
-
- DIDC_call_menu(DB,KEY,0,"PTCHART.LST");
-
- If no file name is provided, Visage will always look for a
- default file named DOCTYPES.LST and use this for its sub document type
- definitions. If this file is not found and you do not explicitly call a
- document type file, this option will be ignored in your application
- (i.e., you won't be able to specify document types).
-
- Scanning and retrieving in applications which use document types
- require that the user select a specific type prior to scanning or
- retrieving an image.
-
- The Visage Programmer's Interface
-
-
- The Visage Programmer's Interface allows your application
- program to communicate with the Visage TSR. The function calls give you
- complete control over the document image processing capabilities of
- Visage. You can use as many or as few of the functions as you desire.
- Currently, interfaces modules are available for Turbo C, Microsoft C,
- Clipper, and Turbo Pascal.
-
- Visage maintains its own database that keeps track of where
- images are stored. Each document can be up to 500 pages long. Documents
- can also be subdivided into sub-documents. For example, in a personnel
- records management system, a document might consist of three types of
- sub-documents: a resume, correspondence with the applicant, and
- correspondence with prospective employers. All three types of
- sub-documents are stored in the same document record, but are
- distinguished by the document type -- a name you assign when the
- sub-documents are scanned. The C language function call below scans
- pages into the IMGDB database with a key of DOC1. The pages are assigned
- to document type 1, as indicated by the third parameter.
-
- res = DIDC_auto_scan ("IMGDB","DOC1",1);
-
- Note that if the IMGDB database does not exist, it will be
- created. If the record with a key value "DOC1" is not found in
- the database, a new record will be added.
-
-
- Documents are uniquely identified by a database name and a key,
- both of which are character strings. The database keeps track of:
-
- - Which pages belong to a document
- - Where the pages are stored
- - The sub-document type of each page
-
-
- PAGE 13
-
-
-
-
- - The order of the pages within a document
- and sub-document
-
-
- For example, IMGDB is a document database containing two
- document records. The records contain the following information:
-
- Record 1: Key = "DOC1"
-
- Page Type Location
- 1 1 Volume 1
- 2 1 Volume 1
- 3 2 Volume 3
-
- Record 2: Key = "DOC2"
-
- Page Type Location
- 1 1 Volume 1
- 2 2 Volume 4
- 3 2 Volume 3
- 4 2 Volume 4
- 5 3 Volume 6
-
-
- Notice that pages are ordered by document type -- pages of type
- 1 come before pages of type 2, etc. Note also that pages need
- not necessarily reside on the same volume. If pages are scanned
- at different times, it is likely that they will be stored on
- different volumes because the earlier volumes were filled.
- Visage keeps track of where pages are stored so you can make
- sure the correct volumes are mounted.
-
- One of the most useful functions Visage provides is the menu
- system. For example, the Visage C function:
-
- DIDC_call_menu("RECORDS","100233",0);
-
- calls the Visage popup menu system for database "RECORDS" using
- the key "100233". Visage will automatically create a database
- RECORDS.DOC and an index RECORDS.DCX, which it will use to keep
- track of where images are stored. It is vital that database and
- index files are not deleted or damaged since they are difficult
- to rebuild. We recommend frequent backups of these files to
- insure access to images.
-
- The DIDC_call_menu() function is just one of many function calls
- Visage provides the application programmer. Other function calls
- provide direct (that is, invisible to the user) access to
- scanning, storage, display, and printing capabilities. Interface
- modules are currently available for MicroSoft C, Turbo C, most
- other C compilers, Turbo Pascal, and Clipper. A major advantage
- of Visage lies in its ability to load as a "swappable" TSR
- requiring less than 9K of conventional memory.
-
-
-
-
-
- PAGE 14
-
- Visage C Function Calls
-
- The following are the Visage function calls for the C language.
- The Visage modules are compiled using the large model, so your
- application must also use the large model. The files MSCVIS.OBJ (for
- Microsoft C) and TCVIS.OBJ (for Borland C) contain the Visage function
- calls for C (SOME FUNCTIONS MAY NOT BE AVAILABLE IN VISAGE LITE).
-
-
- int DIDC_locate_tsr(void);
-
- Locates the Visage TSR and initializes the shared data area. The
- function returns the following value:
-
- 1 The TSR was located.
- 0 The TSR was not located.
-
- Important: This function must be called before any other Visage
- function calls.
-
-
- int DIDC_tsr_type(void);
-
- DIDC provides two types of TSR programs. One supports display,
- scan, and print -- the other supports display only. This
- function indicates which type of TSR is currently loaded. The
- return values are:
-
- 1 Supports scan, print, display
- 2 Supports display only
-
-
-
-
-
- int DIDC_total_pages(char db[], char key[]);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image database
-
- Returns the total number of pages, of all types, associated with
- key.
-
-
- int DIDC_total_pages_type(char db[], char key[], int page_type);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to count. Must be
- greater than zero.
-
- Returns the total number of pages of type page_type associated
- with key.
-
-
-
- PAGE 15
-
-
-
-
-
- int DIDC_show_luns(void);
-
- Displays the status of all volumes currently mounted.
-
-
-
- int DIDC_scan_page(char db[], char key[], int page_type);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to scan. Must be
- greater than zero.
-
-
- Initiates scanning mode for the document defined by db and key.
- Scans one page only.
-
-
- int DIDC_auto_scan(char db[], char key[], int doctype);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to scan. Must be
- greater than zero.
-
-
- Initiates scanning mode for the document defined by db and key.
- Scanned pages will be appended to the document. The doctype
- parameter assigns a sub-document type to the pages being
- scanned. The Visage system allows documents to be divided into
- sub-documents by document type. You can scan some pages with
- doctype equal to 1 and others pages with other values -- Visage
- keeps track of which pages belong to which document type.
-
-
- int DIDC_insert_page(char db[], char key[], int doctype, int page_num);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to scan. Must be
- greater than zero.
-
- page_num: Page to insert in front of.
-
-
- PAGE 16
-
-
-
-
-
-
- Initiates scanning mode for the document defined by db and key.
- Scanned pages will be inserted into the document in front of the
- page identified by page_num. The doctype parameter assigns a
- sub-document type to the pages being scanned.
-
-
-
- int DIDC_delete_page(char db[], char key[], int doctype, int page_num);
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to scan. Must be
- greater than zero.
-
- page_num: Page to delete.
-
-
- Deletes page page_num of type page_type from document key in
- database db.
-
-
- int DIDC_call_menu(char db[], char key[], int flag, tfname[]);
-
- Activates the Visage menu system.
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- flag: when set to 0, menu pops up immediately. when set
- to 1, TSR immediately displays image. When user presses
- ESC, TSR returns to menu. If document has no pages, menu
- will popup immediately.
-
- tfname: name of file containing a list of sub-document
- types. You can pass a null string ("") to indicate that
- sub-document types are not used.
-
- int DIDC_set_write_vol(unsigned wv);
-
- Sets the write volume to the value of wv. The write volume is a
- number that specifies on which volume scanned images should be
- stored. The write volume can also be changed by the user at the
- Visage menu.
-
-
- int DIDC_get_write_vol(void)
-
- Returns the number of the current destination volume.
-
-
-
-
- PAGE 17
-
-
-
- int DIDC_batch_update(void);
-
- Initiates a batch update. During batch update, images are
- transferred from the default volume to their ultimate
- destination. For example, a page that was scanned to volume 2
- will first be stored on the default volume. During the batch
- update process, the image will be moved from the default volume
- to volume 2.
-
-
- int DIDC_set_scanner(int page_len, int source, int intensity);
-
- Controls scanner settings for the length of the pages to be
- scanned (letter or legal), the paper source (hopper or flat
- bed), and the intensity of the scan from lightest (0) to darkest
- (6).
-
- Parameters:
-
- page_len: 0 = Legal size
- 1 = Letter size
- source: 0 = Hopper
- 1 = Flat bed
- intensity: 0 = Lightest
- 1 = Very light
- 2 = Light
- 3 = Normal
- 4 = Dark
- 5 = Very dark
- 6 = Darkest
-
- int DIDC_get_scanner(int param);
-
- Returns the current setting for a specified scanner attribute.
- Controls scanner settings for the length of the pages to be
- scanned (letter or legal), the paper source (hopper or flat
- bed), and the intensity of the scan from lightest (0) to darkest
- (6).
-
- Parameters:
-
- param: 1 = return current page size.
- 0 = Legal size
- 1 = Letter size
-
- 2 = return current paper source.
- 0 = Hopper
- 1 = Flat bed
-
- 3 = return current intensity setting.
- 0 = Lightest
- 1 = Very light
- 2 = Light
- 3 = Normal
- 4 = Dark
- 5 = Very dark
- 6 = Darkest
-
-
-
-
-
- PAGE 18
-
- int DIDC_save_scan_set(void);
-
-
- Parameters: None.
-
- Saves the current scanner settings as the default settings for
- future use.
-
-
- int DIDC_print_all_pages_type(char db[],
- char key[],
- int doctype);
-
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- doctype: Identifies subdocument type to scan. Must be
- greater than zero.
-
-
- Prints all pages of document key in image database db that are
- of type doctype. Setting doctype to 0 will cause all pages to be
- printed, regardless of document type.
-
-
- int DIDC_print_pages(char db[],
- char key[],
- int doctype,
- int first_page,
- int last_page);
-
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database.
-
- doctype: identifies subdocument type to print.
-
- first_page, last_page: Identifies range of pages to
- print.
-
-
- Prints selected pages of document key in image database db that
- are of type doctype. Setting doctype to 0 will cause all pages
- to be printed, regardless of document type. Setting first_page
- to zero, will cause all pages of the selected document type to
- print.
-
-
- int DIDC_clear_doc_page(void);
-
- Clears the document display portion of the screen. Function is
- performed only when KoFax high resolution display is used. Has
- no effect on VGA or EGA displays.
-
-
- PAGE 19
-
-
-
-
-
- int DIDC_display_page(char db[], char key[],
- int pagetype, int page, int control);
-
-
- Parameters:
-
- db: name of the image database
-
- key: unique identifier used to locate document in image
- database
-
- page_type: Identifies subdocument type to scan. Must be
- greater than zero.
-
- page: Page to display.
-
- control: If 1, allows user to manipulate image.
-
-
- Displays the page defined by db, key, and page where db is the
- document database, key is the unique document identifier,
- pagetype is the document type, and page is the page within the
- document. If control is set to 1, then the user is allowed to
- pan, scroll, zoom, and rotate the image. If control is set to
- 0, then user has no control over the image.
-
-
- int DIDC_unique_key(char db[], char key[], int len);
-
- Parameters:
-
- db: name of the image database
-
- key: character string that will be filled in with a
- unique key value. The character string must be at least
- 31 characters long.
-
- len: Length of key to return. Must be at least 6 but no
- more than 30.
-
-
- Returns a unique key [key] value for database db. The key
- returned will be len characters long. This function is used when
- a new document is added to the system. Usually, the application
- will maintain a key field in each record. This key field is used
- to access the document associated with that record. When the new
- document record is created, this function call can be used to
- ensure that the document key field will have a unique value.
-
-
-
-
-
-
- PAGE 20
-
-
- int DIDC_extract_image(char db[],
- char key[],
- int pagetype,
- int page,
- char fname[]);
-
- Parameters:
-
- db: name of the image database
-
- key: character string that will be filled in with a
- unique key value. The character string must be at least
- 31 characters long.
-
- pagetype: Specifies subdocument type of page to extract.
-
- page: Specifies page to extract.
-
- textfname: name of TIFF file to create.
-
-
- Extracts a specified page and stores the TIFF image in the file
- name specified.
-
-
-
- CLIPPER Function Calls
-
-
- To make Visage function calls from CLIPPER applications, you
- must link the MSCVIS.OBJ and CLIPVIS.OBJ files into your
- applications. The CLIPPER function calls are functionally
- equivalent to those used in C applications -- for detailed
- descriptions of how the functions operate, see the section on C
- Language Calls.
-
-
- <num> LOCATETSR()
-
- Functionally equivalent to DIDC_locate_tsr().
-
-
-
- PAGE 21
-
-
-
-
-
- <num> CALLMENU(<char> db, <char> key, <num> flag, <char> tfname)
-
- Functionally equivalent to DIDC_call_menu().
-
-
- <num> SETWVOL(wv)
-
- Functionally equivalent to DIDC_set_write_vol().
-
-
- <num> GETWVOL()
-
- Functionally equivalent to DIDC_get_write_vol().
-
-
- <num> BATCHUP()
-
- Functionally equivalent to DIDC_batch_update().
-
- <num> CLRPGE()
-
- Functionally equivalent to DIDC_clear_doc_page().
-
-
- <char> UKEY(db,len)
-
- Functionally equivalent to DIDC_unique_key except that the key
- is returned by the function call.
-
-
- <num> AUTOSCAN(db,key,doctype)
-
- Functionally equivalent to DIDC_auto_scan().
-
-
- <num> PRTALL(db,key,doctype)
-
- Functionally equivalent to DIDC_print_all_pages().
-
-
- <num> DISPPAGE(db,key,doctype,page)
-
- Functionally equivalent to DIDC_display_page().
-
-
- <num> SETSCAN(page_len,source,intensity)
-
- Functionally equivalent to DIDC_set_scanner().
-
-
- <num> TSRTYPE()
-
- Functionally equivalent to DIDC_tsr_type(void).
-
-
- <num> CNT_P_TYPE(<char> db, <char> key, <num> doctype)
-
-
- PAGE 22
-
-
-
-
-
-
- Returns the number of pages in subdocument doctype in document
- key in database db.
-
-
- <num> SHOWLUNS()
-
- Displays information about all volumes currently mounted.
-
-
- <num> INSPGE(<char> db, <char> key,
- <num> doctype, <num> page)
-
- Scans a page and stores it by inserting it before the page specified.
-
-
- <num> DELPGE(<char> db, <char> key,
- <num> doctype, <num> page)
-
- Deletes specified page.
-
-
- <num> GETSCAN(<num> param)
-
- Gets current setting for specified parameter. See
- DIDC_get_scanner in the C function call section.
-
-
- <num> SAVESCAN()
-
- Saves current scanner settings as system defaults.
-
-
- <num> PRTPGES(<char> db, <char> key, <num> doctype,
- <num> first_page, <num> last_page)
-
- Prints the range of pages specified of a particular document
- type. Set doctype to zero to print pages regardless of document
- type. Set first_page to zero to print all pages of specified
- type.
-
-
-
- <num> EXTIMG(<char> db, <char> key,
- <num> doctype, <num> page,
- <char> filename)
-
- Extracts page, in TIFF format, to the filename specified.
-
-
-
-
-
- PAGE 23
-
-
-
-
- TURBO PASCAL Function Calls
-
- The Visage function calls for Turbo Pascal are contained in the
- file VISAGE.TPU. For details of these functions, see the C
- language calls of the same name.
-
-
- function DIDC_total_pages(var dbname : string;
- var key : string) : integer;
-
- function DIDC_total_pages_type(var dbname : string;
- var key : string;
- doc_type : integer) : integer;
-
- function DIDC_call_menu(var dbname : string;
- var kname : string;
- flag : integer;
- var DocListFname : string) : Integer;
-
- function DIDC_tsr_type : integer;
-
- function DIDC_batch_update: integer;
-
- function DIDC_set_write_vol(wv : word) : integer;
-
- function DIDC_clear_doc_page : integer;
-
- function DIDC_unique_key(var dbname : string;
- var key : string;
- len : integer) : integer;
-
- function DIDC_get_write_vol : integer;
-
- function DIDC_auto_scan(var dbname : string;
- var key : string;
- doctype : integer): integer;
-
- function DIDC_set_scanner(page_len : integer;
- source : integer;
- intensity : integer) : integer;
-
- function DIDC_print_all_pages(var dbname : string;
- var key : string;
- doctype : integer) : integer;
-
- function DIDC_print_pages(var dbname : string;
- var key : string;
- doctype : integer;
- first_page : integer;
- last_page : integer) : integer;
-
- function DIDC_locate_tsr : boolean;
-
- function DIDC_display_page(var dbname : string;
- var kname : string;
- pagetype, page : integer;
- control : integer) : Integer;
-
-
- Using IMGCALLS.EXE
-
-
- PAGE 24
-
-
- Using IMGCALLS.EXE
-
-
- Some programming languages, such as Dbase IV and Clarion
- Professional Developer, cannot link directly with external object
- modules. These programs do, however, have the ability to execute other
- programs. The Visage program IMGCALLS.EXE (included with the Visage
- Developer's Edition disk) provides access to all Visage functions
- through command line parameters. For example, in Dbase IV, you could
- call the Visage menu system with the following statement:
-
- RUN IMGCALLS 3 IMGDB ABC 0
-
- In Clarion Developer, you could call the Visage menu system with the
- following statement:
-
- RUN('IMGCALLS 3 IMGDB ABC 0')
-
-
- The first parameter for IMGCALLS is always a numeric value that
- specifies the function to be invoked. In this example, function 3 calls
- the Visage menu system. Additional parameters, if any, vary depending on
- the function you want to use. In the example, IMGDB is the name of the
- image database, ABC is the document key, and 0 is the function flag.
- (See the C language calls for a full description of the use of these
- parameters).
-
- When IMGCALLS terminates, it stores a result code in a file named
- IMGCALLS.RES. Your application can read the contents
- of this file to determine the result of the Visage function call. If
- IMGCALLS.RES contains a negative number, then some sort of error
- occurred. See Appendix A for a complete listing of error codes. A
- result of -1 means that IMGCALLS was invoked with no parameters. A
- result of -2 means that the Visage TSR is not resident.
-
- IMGCALLS Function Calls
-
-
- Function 1: Return total number of document pages.
-
- Additional Parameters: Name of image database
- Document Key
-
- Example: RUN IMGCALLS 1 IMDB ABC
-
-
- Function 2: Return total number of sub-document pages.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
-
- Example: RUN IMGCALLS 2 IMDB ABC 1
-
-
- Function 3: Invoke Visage menu system.
-
- Additional Parameters: Name of image database
- Document Key
- Function flag
- Document type file <Optional>
-
- Example: RUN IMGCALLS 3 IMDB ABC 0
-
- PAGE 25
-
-
-
-
-
-
- Function 4: Return version of Visage TSR currently loaded.
-
- Additional Parameters: None
-
- Example: RUN IMGCALLS 4
-
-
- Function 5: Invoke batch update.
-
- Additional Parameters: None
-
- Example: RUN IMGCALLS 5
-
-
- Function 6: Set value for write volume.
-
- Additional Parameters: Write-volume number
-
- Example: RUN IMGCALLS 6 3
-
-
- Function 7: Clear document from screen.
-
- Additional Parameters: None
-
- Example: RUN IMGCALLS 7
-
-
- Function 9: Return unique key for specified image database.
-
- Additional Parameters: Name of image database
- Desired key length
-
- Example: RUN IMGCALLS 9 IMGDB 10
-
- Note: If successful, Visage stores the unique key in IMGCALLS.RES.
-
-
- Function 10: Get current value of write volume.
-
- Additional Parameters: None
-
- Example: RUN IMGCALLS 10
-
-
- Function 11: Display volume status.
-
- Additional Parameters: None
-
- Example: RUN IMGCALLS 11
-
-
- Function 101: Scan one document page.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
-
- Example: RUN IMGCALLS 101 IMGDB ABC 0
-
-
- Function 102: Scan document pages.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
-
- Example: RUN IMGCALLS 102 IMGDB ABC 0
-
-
- Function 103: Set scanner parameters.
-
- Additional Parameters: Page length (legal or letter)
-
-
- PAGE 26
-
-
-
-
- Paper source (hopper or flat bed)
- Intensity
-
- Example: RUN IMGCALLS 103 1 0 3
-
-
- Function 104: Scan and insert a page.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
- Page number to insert in front of
-
- Example: RUN IMGCALLS 104 IMGDB ABC 1 1
-
-
- Function 105: Delete a page.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
- Page number to delete
-
- Example: RUN IMGCALLS 105 IMGDB ABC 1 1
-
-
- Function 203: Print a range of pages for entire document or specified sub-document.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
- First page
- Last page
-
- Example: RUN IMGCALLS 203 IMGDB 1 1 10
-
-
- Function 300: Display specified document or sub-document page.
-
- Additional Parameters: Name of image database
- Document Key
- Sub-document type
- Page number
-
- Example: RUN IMGCALLS 300 IMGDB ABC 1 1
-
- PAGE 27
-
- Function Result Codes
-
-
- -500 WRITE_VOL_NOT_MOUNTED
-
- -501 READ_VOL_NOT_MOUNTED
-
- -502 INVALID_VOLID
-
- -503 NO_DB_RECORD
-
- -504 DATABASE_ERR
-
- -505 NETWORK_ERR
-
- -506 LOCKED_OUT
-
- -508 PAGE_NOT_FOUND
-
- -509 FSEEK_ERR
-
- -510 NO_BYTES_READ
-
- -511 FILE_CLOSED
-
- -512 FWRITE_ERR
-
- -513 STATUS_NOT_2
-
- -514 FTELL_ERR
-
- -515 UNEQUAL_EOF
-
- -516 NO_TRFR_FILE
-
- -517 VOLUME_FULL
-
- -518 NOT_LOGGED_IN
-
- -519 TEMP_FILE_NOP
-
- -520 FWRITE_ERR_TRFR
-
- -521 FSEEK_ERR_TRFR
-
- -522 BAD_PAGE_TYPE
-
- -523 BAD_PAGE_OP
-
- -524 NO_MORE_USERS
-
- -525 ISAM_CLOSED
-
- -526 ISAM_OPEN
-
- -527 F_CREATE_ERR
-
- -528 TIMEOUT
-
- -529 DECOMP_ERR
-
- -530 SEQUENCE_ERR
-
- -531 PARAM_ERR
-
- -532 BLOCK_HDR_ERR
-
- -533 USER_BREAK
-
- -534 DBNAME_ERR
-
- -535 BATCH_UPDATE_NEEDED
-
- -536 CORRUPTED_IMAGE
-
- -537 NOT_LOCKED_OUT
-
- -538 IMG_DB_NOP
-
- -539 ERR_GET_REC
-
- -540 DEST_VOL_NT_MTD
-
-
- PAGE 28
-
-
-
-
-
- -541 ERR_RD_BLKHDR
-
- -542 ERR_WT_BLKHDR
-
- -543 ERR_RD_IMAGE
-
- -544 ERR_WT_IMAGE
-
- -545 SRCE_VOL_NT_MTD
-
- -546 SRCE_EQLS_DEST
-
- -547 DEST_FILE_NT_MTD
-
- -548 INVALID_USER
-
- -549 NO_MORE_PAGES
-
- -550 ERR_PUT_REC
-
- -551 ADD_TRFR_REC
-
- -552 PAGE_DOESN'T_EXIST
-
- -553 PRINTER_ERROR
-
- -554 DISPLAY_ERROR
-
- -555 DTI_TIMEOUT
-
- -556 EMPTY_KEY
-
- -557 TSR_NOT_LOADED
-
- -558 NO_KEY
-
- -559 KEY_TOO_LONG
-
- -560 NO_DB_NAME
-
- -561 DB_NAME_TOO_LONG
-
- -562 BAD_PAGE_NUMBERS
-
- -563 FUNCTION_NOT_SUPPORTED
-
-
-
- ----------------end-of-author's-documentation---------------
-
- Software Library Information:
-
- This disk copy provided as a service of
-
- Public (software) Library
-
- We are not the authors of this program, nor are we associated
- with the author in any way other than as a distributor of the
- program in accordance with the author's terms of distribution.
-
- Please direct shareware payments and specific questions about
- this program to the author of the program, whose name appears
- elsewhere in this documentation. If you have trouble getting
- in touch with the author, we will do whatever we can to help
- you with your questions. All programs have been tested and do
- run. To report problems, please use the form that is in the
- file PROBLEM.DOC on many of our disks or in other written for-
- mat with screen printouts, if possible. PsL cannot debug pro-
- programs over the telephone, though we can answer questions.
-
- Disks in the PsL are updated monthly, so if you did not get
- this disk directly from the PsL, you should be aware that the
- files in this set may no longer be the current versions. Also,
- if you got this disk from another vendor and are having prob-
- lems, be aware that some files may have become corrupted or
- lost by that vendor. Get a current, working disk from PsL.
-
- For a copy of the latest monthly software library newsletter
- and a list of the 4,000+ disks in the library, call or write
-
- Public (software) Library
- P.O.Box 35705 - F
- Houston, TX 77235-5705
-
- 1-800-2424-PSL
- MC/Visa/AmEx/Discover
-
- Outside of U.S. or in Texas
- or for general information,
- Call 1-713-524-6394
-
- PsL also has an outstanding
- catalog for the Macintosh.
-